package com.ssm.sfzy.controller;


import com.ssm.sfzy.constant.CommonConstant;

import com.ssm.sfzy.entity.Company;
import com.ssm.sfzy.service.CompanyService;
import com.ssm.sfzy.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;

@RestController
@CrossOrigin
@RequestMapping("/company")
public class CompanyController {

    @Autowired
    private CompanyService companyService;

//    根据传入的分页参数和查询条件，调用 ArticleService 的 findPage() 方法进行分页查询，并返回查询结果。
    @GetMapping("/find")
    public Object find(
            @RequestParam(defaultValue = CommonConstant.PAGE_NUM_DEFAULT) Integer pageNum,
            @RequestParam(defaultValue = CommonConstant.PAGE_SIZE_DEFAULT) Integer pageSize,
            Company company
    ){
        Map<String, Object> map = companyService.findPage(pageNum, pageSize, company);
        return  Result.success(map);
    }

//    根据传入的公司ID，调用 ArticleService 的 findById() 方法查询对应的公司信息，并返回查询结果。
    @GetMapping("/findById/{id}")
    public Object findById(@PathVariable Integer id){
        Company company = companyService.findById(id);
        return Result.success(company);
    }

//      将传入的公司信息添加到数据库中
    @PostMapping("/add")
    public Object add(@RequestBody Company company) throws Exception {
        companyService.add(company);
        return Result.success();
    }

//    根据传入的公司信息，更新数据库中对应的公司信息, 请求体中包含一个 JSON 格式的公司信息。
    @PutMapping("/edit")
    public Object edit(@RequestBody Company company) throws Exception {
        companyService.edit(company);
        return Result.success();
    }

//    要删除的id
    @DeleteMapping("/remove/{id}")
    public Object remove(@PathVariable Integer id){
        companyService.remove(id);
        return Result.success();
    }

//    要删除的id数组
    @DeleteMapping("/removeBatch")
    public Object removeBatch(Integer[] ids){
        companyService.removeBatch(ids);
        return Result.success();
    }








}
